/* 添加收货地址
POST
/member/address
isDefault:是否为默认，1为是，0为否 ，注意：此处按照接口实现 */

import type { AddressItem, AddressParams } from '@/types/address'
import { http } from '@/utils/http'

/**
 * 添加收货地址
 * @param data 请求参数
 * @returns
 */

export const postMemberAddressAPI = (data: AddressParams) => {
  return http({
    method: 'POST',
    url: '/member/address',
    data,
  })
}

/* 会员中心-地址管理
获取收货地址列表
GET
/member/address
 */
/**
 * 获取收货地址列表
 * @returns
 */
export const getMemberAddressAPI = () => {
  return http<AddressItem[]>({
    method: 'GET',
    url: '/member/address',
  })
}

// 会员中心-地址管理
// 获取收货地址详情
// GET
// /member/address/{id}
/**
 * 获取收货地址详情
 * @param id 地址id路径参数
 * @returns
 */
export const getMemberAddressByIdAPI = (id: string) => {
  return http<AddressItem>({
    method: 'GET',
    url: `/member/address/${id}`,
  })
}

// 修改收货地址
// PUT
// /member/address/{id}
// isDefault:是否为默认，1为是，0为否 ，注意：此处按照接口实现
/**
 *修改收货地址
 * @param id 地址id(路径参数)
 * @param data 表单数据(请求体参数)
 * @returns
 */
export const putMemberAddressByIdAPI = (id: string, data: AddressParams) => {
  return http({
    method: 'PUT',
    url: `/member/address/${id}`,
    data,
  })
}

/**
 *删除收货地址
 * @param id 地址id(路径参数)
 */
export const deleteMemberAddressByIdAPI = (id: string) => {
  return http({
    method: 'DELETE',
    url: `/member/address/${id}`,
  })
}
